package com.jrx.anytxn.feign.gateway.request;

import com.jrx.anytxn.feign.gateway.bean.BaseApiRequest;
import com.jrx.anytxn.feign.gateway.bean.ChargeInfo;

import java.util.List;

/**
 * 行内受托支付
 *
 * @Author dsl
 * @Date 11:27 上午 星期一 2021/6/7
 **/
public class CoreRequest20 extends BaseApiRequest {

    /**
     * 核心记账日期（起息日）YYYYMMDD
     */
    private String valueDate;

    /**
     * 核心业务编号
     */
    private String businessNo;

    /**
     * 科目日志 0-外部用户 1-资金 2-会计 3-押汇 4-贷款 9-其他
     */
    private String subjectFlag;

    /**
     * 核心经办柜员
     */
    private String userCd;

    /**
     * 业务来源的业务编号
     */
    private String originBusinessNo;

    /**
     * 客户号
     */
    private String custNo;

    /**
     * 头寸预约号
     */
    private String constractId;

    /**
     * 汇款路线 BEPS-小额 HVPS-大额 XMTC-厦门同城 BJTC-北京同城 IBPS-网银清算 OTHR-平台判断
     */
    private String sysCd;

    /**
     * 核心货币类型
     */
    private String currency;

    /**
     * 金额
     */
    private String amt;

    /**
     * CBS借贷记标志 CRDT-贷记 DBIT-借记
     */
    private String debitAndCreditId;

    /**
     * 委托日期 YYYYMMDD
     */
    private String commissionDate;

    /**
     * 委托时间 HHMMSS
     */
    private String commissionTime;

    /**
     * 介质账号
     */
    private String mediumAcctNo;

    /**
     * 本行账号
     */
    private String acctNo;

    /**
     * 本行账户名称
     */
    private String acctName;

    /**
     * 本行账号开户行
     */
    private String acctBranch;

    /**
     * 本行账户地址
     */
    private String acctAddr;

    /**
     * 账户类别
     */
    private String acctType;

    /**
     * 对方账号
     */
    private String toAcctNo;

    /**
     * 对方户名
     */
    private String toAcctName;

    /**
     * 对方账号开户行
     */
    private String toAcctBranch;

    /**
     * 对方账号开户行名称
     */
    private String toAcctBranchName;

    /**
     * 对方账户地址
     */
    private String toAcctAddr;

    /**
     * 接收行（接受参与机构）
     */
    private String instdPty;

    /**
     * 附言
     */
    private String addtlInf;

    /**
     * 端到端标识号
     */
    private String endToEndId;

    /**
     * 收费方式
     */
    private String feeType;

    /**
     * 收费账号
     */
    private String feeAcctNo;

    /**
     * 费用列表
     */
    private List<ChargeInfo> chargeList;
    /**
     * 回调接口编码
     */
    private String notifyServiceCode = "CDMT004770";

    /**
     * 是否打印回单 0-不打印  1-打印
     */
    private String printFlag;

    /**
     * 银企直连-BE
     */
    private String modelCode;

    /**
     * 附加消息类型
     */
    private String infoType;

    /**
     * 附加消息内容
     */
    private String infoContent;

    /**
     * 资金来源
     */
    private String sourceOfRFund;

    /**
     * 退汇通知接口编码
     */
    private String rtrNotifyServiceCode;

    /**
     * 第三方交易流水号
     * 用于PCP/请求方和第三方系统间的流水
     */
    private String extBsnId;
    /**
     * 附言
     */
    private String postScripts;
    /**
     * 备注
     */
    private String remarks80;

    public String getValueDate() {
        return valueDate;
    }

    public void setValueDate(String valueDate) {
        this.valueDate = valueDate;
    }

    public String getBusinessNo() {
        return businessNo;
    }

    public void setBusinessNo(String businessNo) {
        this.businessNo = businessNo;
    }

    public String getSubjectFlag() {
        return subjectFlag;
    }

    public void setSubjectFlag(String subjectFlag) {
        this.subjectFlag = subjectFlag;
    }

    public String getUserCd() {
        return userCd;
    }

    public void setUserCd(String userCd) {
        this.userCd = userCd;
    }

    public String getOriginBusinessNo() {
        return originBusinessNo;
    }

    public void setOriginBusinessNo(String originBusinessNo) {
        this.originBusinessNo = originBusinessNo;
    }

    public String getCustNo() {
        return custNo;
    }

    public void setCustNo(String custNo) {
        this.custNo = custNo;
    }

    public String getConstractId() {
        return constractId;
    }

    public void setConstractId(String constractId) {
        this.constractId = constractId;
    }

    public String getSysCd() {
        return sysCd;
    }

    public void setSysCd(String sysCd) {
        this.sysCd = sysCd;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public String getAmt() {
        return amt;
    }

    public void setAmt(String amt) {
        this.amt = amt;
    }

    public String getDebitAndCreditId() {
        return debitAndCreditId;
    }

    public void setDebitAndCreditId(String debitAndCreditId) {
        this.debitAndCreditId = debitAndCreditId;
    }

    public String getCommissionDate() {
        return commissionDate;
    }

    public void setCommissionDate(String commissionDate) {
        this.commissionDate = commissionDate;
    }

    public String getCommissionTime() {
        return commissionTime;
    }

    public void setCommissionTime(String commissionTime) {
        this.commissionTime = commissionTime;
    }

    public String getMediumAcctNo() {
        return mediumAcctNo;
    }

    public void setMediumAcctNo(String mediumAcctNo) {
        this.mediumAcctNo = mediumAcctNo;
    }

    public String getAcctNo() {
        return acctNo;
    }

    public void setAcctNo(String acctNo) {
        this.acctNo = acctNo;
    }

    public String getAcctName() {
        return acctName;
    }

    public void setAcctName(String acctName) {
        this.acctName = acctName;
    }

    public String getAcctBranch() {
        return acctBranch;
    }

    public void setAcctBranch(String acctBranch) {
        this.acctBranch = acctBranch;
    }

    public String getAcctAddr() {
        return acctAddr;
    }

    public void setAcctAddr(String acctAddr) {
        this.acctAddr = acctAddr;
    }

    public String getAcctType() {
        return acctType;
    }

    public void setAcctType(String acctType) {
        this.acctType = acctType;
    }

    public String getToAcctNo() {
        return toAcctNo;
    }

    public void setToAcctNo(String toAcctNo) {
        this.toAcctNo = toAcctNo;
    }

    public String getToAcctName() {
        return toAcctName;
    }

    public void setToAcctName(String toAcctName) {
        this.toAcctName = toAcctName;
    }

    public String getToAcctBranch() {
        return toAcctBranch;
    }

    public void setToAcctBranch(String toAcctBranch) {
        this.toAcctBranch = toAcctBranch;
    }

    public String getToAcctBranchName() {
        return toAcctBranchName;
    }

    public void setToAcctBranchName(String toAcctBranchName) {
        this.toAcctBranchName = toAcctBranchName;
    }

    public String getToAcctAddr() {
        return toAcctAddr;
    }

    public void setToAcctAddr(String toAcctAddr) {
        this.toAcctAddr = toAcctAddr;
    }

    public String getInstdPty() {
        return instdPty;
    }

    public void setInstdPty(String instdPty) {
        this.instdPty = instdPty;
    }

    public String getAddtlInf() {
        return addtlInf;
    }

    public void setAddtlInf(String addtlInf) {
        this.addtlInf = addtlInf;
    }

    public String getEndToEndId() {
        return endToEndId;
    }

    public void setEndToEndId(String endToEndId) {
        this.endToEndId = endToEndId;
    }

    public String getFeeType() {
        return feeType;
    }

    public void setFeeType(String feeType) {
        this.feeType = feeType;
    }

    public String getFeeAcctNo() {
        return feeAcctNo;
    }

    public void setFeeAcctNo(String feeAcctNo) {
        this.feeAcctNo = feeAcctNo;
    }

    public List<ChargeInfo> getChargeList() {
        return chargeList;
    }

    public void setChargeList(List<ChargeInfo> chargeList) {
        this.chargeList = chargeList;
    }

    public String getNotifyServiceCode() {
        return notifyServiceCode;
    }

    public void setNotifyServiceCode(String notifyServiceCode) {
        this.notifyServiceCode = notifyServiceCode;
    }

    public String getPrintFlag() {
        return printFlag;
    }

    public void setPrintFlag(String printFlag) {
        this.printFlag = printFlag;
    }

    public String getModelCode() {
        return modelCode;
    }

    public void setModelCode(String modelCode) {
        this.modelCode = modelCode;
    }

    public String getInfoType() {
        return infoType;
    }

    public void setInfoType(String infoType) {
        this.infoType = infoType;
    }

    public String getInfoContent() {
        return infoContent;
    }

    public void setInfoContent(String infoContent) {
        this.infoContent = infoContent;
    }

    public String getSourceOfRFund() {
        return sourceOfRFund;
    }

    public void setSourceOfRFund(String sourceOfRFund) {
        this.sourceOfRFund = sourceOfRFund;
    }

    @Override
    public String toString() {
        return "CoreRequest20{" +
                "valueDate='" + valueDate + '\'' +
                ", businessNo='" + businessNo + '\'' +
                ", subjectFlag='" + subjectFlag + '\'' +
                ", userCd='" + userCd + '\'' +
                ", originBusinessNo='" + originBusinessNo + '\'' +
                ", custNo='" + custNo + '\'' +
                ", constractId='" + constractId + '\'' +
                ", sysCd='" + sysCd + '\'' +
                ", currency='" + currency + '\'' +
                ", amt='" + amt + '\'' +
                ", debitAndCreditId='" + debitAndCreditId + '\'' +
                ", commissionDate='" + commissionDate + '\'' +
                ", commissionTime='" + commissionTime + '\'' +
                ", mediumAcctNo='" + mediumAcctNo + '\'' +
                ", acctNo='" + acctNo + '\'' +
                ", acctName='" + acctName + '\'' +
                ", acctBranch='" + acctBranch + '\'' +
                ", acctAddr='" + acctAddr + '\'' +
                ", acctType='" + acctType + '\'' +
                ", toAcctNo='" + toAcctNo + '\'' +
                ", toAcctName='" + toAcctName + '\'' +
                ", toAcctBranch='" + toAcctBranch + '\'' +
                ", toAcctBranchName='" + toAcctBranchName + '\'' +
                ", toAcctAddr='" + toAcctAddr + '\'' +
                ", instdPty='" + instdPty + '\'' +
                ", addtlInf='" + addtlInf + '\'' +
                ", endToEndId='" + endToEndId + '\'' +
                ", feeType='" + feeType + '\'' +
                ", feeAcctNo='" + feeAcctNo + '\'' +
                ", chargeList=" + chargeList +
                ", notifyServiceCode='" + notifyServiceCode + '\'' +
                ", printFlag='" + printFlag + '\'' +
                ", modelCode='" + modelCode + '\'' +
                ", infoType='" + infoType + '\'' +
                ", infoContent='" + infoContent + '\'' +
                ", sourceOfRFund='" + sourceOfRFund + '\'' +
                '}';
    }

    /**
     * 获取 退汇通知接口编码
     *
     * @return rtrNotifyServiceCode 退汇通知接口编码
     */
    public String getRtrNotifyServiceCode() {
        return this.rtrNotifyServiceCode;
    }

    /**
     * 设置 退汇通知接口编码
     *
     * @param rtrNotifyServiceCode 退汇通知接口编码
     */
    public void setRtrNotifyServiceCode(String rtrNotifyServiceCode) {
        this.rtrNotifyServiceCode = rtrNotifyServiceCode;
    }

    /**
     * 获取 第三方交易流水号      用于PCP请求方和第三方系统间的流水
     *
     * @return extBsnId 第三方交易流水号      用于PCP请求方和第三方系统间的流水
     */
    public String getExtBsnId() {
        return this.extBsnId;
    }

    /**
     * 设置 第三方交易流水号      用于PCP请求方和第三方系统间的流水
     *
     * @param extBsnId 第三方交易流水号      用于PCP请求方和第三方系统间的流水
     */
    public void setExtBsnId(String extBsnId) {
        this.extBsnId = extBsnId;
    }

    /**
     * 获取 附言
     *
     * @return postScripts 附言
     */
    public String getPostScripts() {
        return this.postScripts;
    }

    /**
     * 设置 附言
     *
     * @param postScripts 附言
     */
    public void setPostScripts(String postScripts) {
        this.postScripts = postScripts;
    }

    /**
     * 获取 备注
     *
     * @return remarks80 备注
     */
    public String getRemarks80() {
        return this.remarks80;
    }

    /**
     * 设置 备注
     *
     * @param remarks80 备注
     */
    public void setRemarks80(String remarks80) {
        this.remarks80 = remarks80;
    }
}
